package org.dromara.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.XfNews;
import org.dromara.system.domain.query.XfNewsQuery;
import org.dromara.system.domain.vo.XfNewsVo;

import java.util.List;

public interface IXfNewsService extends IService<XfNews> {

    /**
     * 根据条件分页查询新闻资讯列表
     *
     * @param query 查询条件
     * @return 新闻资讯信息集合
     */
    TableDataInfo<XfNewsVo> selectPageXfNewsList(XfNewsQuery query);

    /**
     * 根据条件查询新闻资讯列表
     *
     * @param query 查询条件
     * @return 新闻资讯信息集合
     */
    List<XfNewsVo> selectXfNewsList(XfNewsQuery query);

    /**
     * 通过新闻ID查询新闻资讯
     *
     * @param newsId 新闻ID
     * @return 新闻资讯对象信息
     */
    XfNewsVo selectXfNewsById(Long newsId);

    /**
     * 新增新闻资讯
     *
     * @param news 新闻资讯信息
     * @return 结果
     */
    boolean insertXfNews(XfNews news);

    /**
     * 修改新闻资讯
     *
     * @param news 新闻资讯信息
     * @return 结果
     */
    boolean updateXfNews(XfNews news);

    /**
     * 删除新闻资讯信息
     *
     * @param newsId 新闻ID
     * @return 结果
     */
    int deleteXfNewsById(Long newsId);

    /**
     * 批量删除新闻资讯信息
     *
     * @param newsIds 新闻ID数组
     * @return 结果
     */
    int deleteXfNewsByIds(Long[] newsIds);
}
